[38;2;117;113;94m#[0m[38;2;117;113;94m An example file to test Crystal syntax highlighting in bat[0m
[38;2;248;248;242mmy_var [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mNil[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255mnil[0m
[38;2;248;248;242mmy_var_also [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m42[0m
[38;2;248;248;242mmy_other_var [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4.0[0m
[38;2;248;248;242manother_float [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4.0_f32[0m
[38;2;248;248;242manother_float_2 [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4e10[0m
[38;2;248;248;242manother_float_3 [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;190;132;255m0.5[0m
[38;2;248;248;242mbig_one [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1_000_000.111_111e-4[0m
[38;2;248;248;242mternary [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114m>[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m[38;2;248;248;242m [0m[38;2;249;38;114m?[0m[38;2;248;248;242m [0m[38;2;190;132;255m4[0m
[38;2;248;248;242mmy_symbol [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m:[0m[38;2;190;132;255mThisOne?[0m
[38;2;248;248;242mmy_other_symbol [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m:[0m[38;2;190;132;255mNo_That_One![0m
[38;2;248;248;242mplus [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m:[0m[38;2;190;132;255m+[0m
[38;2;248;248;242mminus [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m:[0m[38;2;190;132;255m-[0m
[38;2;248;248;242mmy_string [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mthis string right here, with an interpolated value of [0m[38;2;230;219;116m#{[0m[38;2;230;219;116mmy_var_also[0m[38;2;230;219;116m}[0m[38;2;230;219;116m"[0m
[38;2;248;248;242mmy_array [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mArray[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m,[0m[38;2;190;132;255m2[0m[38;2;248;248;242m,[0m[38;2;190;132;255m3[0m[38;2;248;248;242m,[0m[38;2;190;132;255m4[0m[38;2;248;248;242m][0m
[38;2;248;248;242mmy_tuple [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mTuple[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m[38;2;190;132;255m1[0m[38;2;248;248;242m,[0m[38;2;190;132;255m2[0m[38;2;248;248;242m,[0m[38;2;190;132;255m3[0m[38;2;248;248;242m,[0m[38;2;190;132;255m4[0m[38;2;248;248;242m}[0m
[38;2;248;248;242mmy_named_tuple [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mNamedTuple[0m[38;2;248;248;242m([0m[38;2;190;132;255mone[0m[38;2;190;132;255m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255mtwo[0m[38;2;190;132;255m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m[38;2;230;219;116m"[0m[38;2;230;219;116mone[0m[38;2;230;219;116m"[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mtwo[0m[38;2;230;219;116m"[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m}[0m
[38;2;248;248;242mmy_hash [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mHash[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m[38;2;230;219;116m"[0m[38;2;230;219;116mone[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m=>[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mtwo[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m=>[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m}[0m
[38;2;248;248;242mmy_proc [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mProc[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;249;38;114m>[0m[38;2;248;248;242m([0m[38;2;248;248;242mx [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m{[0m[38;2;248;248;242m [0m[38;2;248;248;242mx [0m[38;2;249;38;114m*[0m[38;2;248;248;242m x[0m[38;2;248;248;242m}[0m
[38;2;248;248;242mmy_other_proc [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mProc[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;249;38;114m>[0m[38;2;248;248;242m{[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mWow, neat![0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m}[0m
[38;2;248;248;242mputs my_string[0m
[38;2;248;248;242mputs[0m[38;2;248;248;242m([0m[38;2;248;248;242mmy_string[0m[38;2;248;248;242m)[0m

[38;2;249;38;114menum[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m
[38;2;248;248;242m  [0m[3;38;2;166;226;46mRed[0m
[38;2;248;248;242m  [0m[3;38;2;166;226;46mGreen[0m
[38;2;248;248;242m  [0m[3;38;2;166;226;46mBlue[0m
[38;2;249;38;114mend[0m

[38;2;249;38;114mclass[0m[38;2;248;248;242m [0m[38;2;166;226;46mGreeter[0m
[38;2;248;248;242m  [0m[38;2;255;255;255m@[0m[38;2;255;255;255minstance_field[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mRed[0m
[38;2;248;248;242m  [0m[38;2;255;255;255m@@[0m[38;2;255;255;255mclass_field[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mGreen[0m

[38;2;248;248;242m  [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46minitialize[0m[38;2;248;248;242m([0m[3;38;2;255;255;255m@[0m[3;38;2;255;255;255mname[0m[3;38;2;253;151;31m [0m[3;38;2;249;38;114m=[0m[3;38;2;253;151;31m [0m[3;38;2;230;219;116m"[0m[3;38;2;230;219;116mworld[0m[3;38;2;230;219;116m"[0m[38;2;248;248;242m)[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mend[0m

[38;2;248;248;242m  [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mgreet[0m[38;2;248;248;242m [0m
[38;2;248;248;242m    puts [0m[38;2;230;219;116m"[0m[38;2;230;219;116mHello, [0m[38;2;230;219;116m#{[0m[38;2;255;255;255m@[0m[38;2;255;255;255mname[0m[38;2;230;219;116m}[0m[38;2;230;219;116m"[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mend[0m

[38;2;248;248;242m  [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mrender_greeting[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m:[0m[3;38;2;253;151;31m [0m[3;38;2;166;226;46mString[0m
[38;2;248;248;242m    [0m[38;2;230;219;116m"[0m[38;2;230;219;116mHello, [0m[38;2;230;219;116m#{[0m[38;2;255;255;255m@[0m[38;2;255;255;255mname[0m[38;2;230;219;116m}[0m[38;2;230;219;116m"[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mend[0m

[38;2;248;248;242m  [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mwith_greeting[0m
[38;2;248;248;242m    [0m[38;2;249;38;114myield[0m[38;2;248;248;242m render_greeting[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mend[0m

[38;2;248;248;242m  [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mis_color_default?[0m
[38;2;248;248;242m    [0m[38;2;255;255;255m@[0m[38;2;255;255;255minstance_field[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;255;255;255m@@[0m[38;2;255;255;255mclass_field[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mend[0m

[38;2;248;248;242m  [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mself.greet_static[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mname [0m[3;38;2;253;151;31m:[0m[3;38;2;253;151;31m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mUnit[0m
[38;2;248;248;242m    puts [0m[38;2;230;219;116m"[0m[38;2;230;219;116mHello, [0m[38;2;230;219;116m#{[0m[38;2;230;219;116mname[0m[38;2;230;219;116m}[0m[38;2;230;219;116m"[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mend[0m
[38;2;249;38;114mend[0m

[38;2;248;248;242mgreeter [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mGreeter[0m[38;2;248;248;242m.[0m[38;2;249;38;114mnew[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mbat[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m
[38;2;248;248;242mgreeter[0m[38;2;248;248;242m.[0m[38;2;248;248;242mwith_greeting [0m[38;2;249;38;114mdo [0m[38;2;248;248;242m|[0m[38;2;255;255;255mgreeting[0m[38;2;248;248;242m|[0m
[38;2;248;248;242m  puts greeting[0m
[38;2;249;38;114mend[0m

[38;2;248;248;242mputs [0m[38;2;230;219;116m<<-EOF[0m
[38;2;230;219;116m  this is a heredoc and it has a value in it of [0m[38;2;230;219;116m#{[0m[38;2;230;219;116mgreeter[0m[38;2;230;219;116m.[0m[38;2;230;219;116mrender_greeting[0m[38;2;230;219;116m}[0m[38;2;230;219;116m![0m
[38;2;230;219;116mEOF[0m

[38;2;117;113;94m#[0m[38;2;117;113;94m This is a command:[0m
[38;2;230;219;116m`[0m[38;2;230;219;116mecho yay![0m[38;2;230;219;116m`[0m
[38;2;255;255;255m$[0m[38;2;255;255;255m?[0m[38;2;248;248;242m.[0m[38;2;248;248;242msuccess?[0m

[38;2;248;248;242mmy_color [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mRed[0m

[38;2;248;248;242mputs [0m
[38;2;248;248;242m  [0m[38;2;249;38;114mcase[0m[38;2;248;248;242m my_color[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mRed[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242m.[0m[38;2;248;248;242mred?[0m
[38;2;248;248;242m    [0m[38;2;230;219;116m"[0m[38;2;230;219;116mRed[0m[38;2;230;219;116m"[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mGreen[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242m.[0m[38;2;248;248;242mgreen?[0m
[38;2;248;248;242m    [0m[38;2;230;219;116m"[0m[38;2;230;219;116mGreen[0m[38;2;230;219;116m"[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mBlue[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242m.[0m[38;2;248;248;242mblue?[0m
[38;2;248;248;242m    [0m[38;2;230;219;116m"[0m[38;2;230;219;116mBlue[0m[38;2;230;219;116m"[0m
[38;2;248;248;242m  [0m[38;2;249;38;114melse[0m
[38;2;248;248;242m    [0m[38;2;230;219;116m"[0m[38;2;230;219;116mI dunno, man. Chartreuse? Maroon?[0m[38;2;230;219;116m"[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mend[0m

[38;2;249;38;114mclass[0m[38;2;248;248;242m [0m[38;2;166;226;46mMyGenericClass[0m[38;2;166;226;46m([0m[3;38;2;166;226;46mT[0m[38;2;166;226;46m)[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46minitialize[0m[38;2;248;248;242m([0m[3;38;2;255;255;255m@[0m[3;38;2;255;255;255mwrapped_value[0m[3;38;2;253;151;31m [0m[3;38;2;253;151;31m:[0m[3;38;2;253;151;31m [0m[3;38;2;166;226;46mT[0m[38;2;248;248;242m)[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mend[0m

[38;2;248;248;242m  [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mget[0m
[38;2;248;248;242m    [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;255;255;255m@[0m[38;2;255;255;255mwrapped_value[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mend[0m
[38;2;249;38;114mend[0m


[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mdo_stuff_with_range[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mr [0m[3;38;2;253;151;31m:[0m[3;38;2;253;151;31m [0m[3;38;2;166;226;46mRange[0m[3;38;2;253;151;31m([0m[3;38;2;166;226;46mInt[0m[3;38;2;249;38;114m|[0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m r[0m[38;2;248;248;242m.[0m[38;2;248;248;242mempty?[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;249;38;114munless[0m[38;2;248;248;242m [0m[38;2;249;38;114m![0m[38;2;248;248;242m([0m[38;2;248;248;242mr[0m[38;2;248;248;242m.[0m[38;2;248;248;242mempty?[0m[38;2;248;248;242m)[0m
[38;2;248;248;242m  r[0m[38;2;248;248;242m.[0m[38;2;248;248;242meach [0m[38;2;249;38;114mdo [0m[38;2;248;248;242m|[0m[38;2;255;255;255mitem[0m[38;2;248;248;242m|[0m
[38;2;248;248;242m    [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;246;170;17m/[0m[38;2;246;170;17me[0m[38;2;246;170;17m/[0m[38;2;248;248;242m.[0m[38;2;248;248;242mmatch[0m[38;2;248;248;242m([0m[38;2;248;248;242mitem[0m[38;2;248;248;242m.[0m[38;2;248;248;242mto_s[0m[38;2;248;248;242m)[0m
[38;2;248;248;242m      puts [0m[38;2;230;219;116m"[0m[38;2;230;219;116m#{[0m[38;2;230;219;116mitem[0m[38;2;230;219;116m}[0m[38;2;230;219;116m contains the letter e![0m[38;2;230;219;116m"[0m
[38;2;248;248;242m    [0m[38;2;249;38;114melsif[0m[38;2;248;248;242m item[0m[38;2;248;248;242m.[0m[38;2;248;248;242mto_s[0m[38;2;248;248;242m.[0m[38;2;248;248;242mempty?[0m
[38;2;248;248;242m      [0m[38;2;249;38;114mbreak[0m
[38;2;248;248;242m    [0m[38;2;249;38;114melse[0m
[38;2;248;248;242m      [0m[38;2;249;38;114mnext[0m[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m this is unnecessary, but whatever[0m
[38;2;248;248;242m    [0m[38;2;249;38;114mend[0m
[38;2;248;248;242m  [0m[38;2;249;38;114mend[0m
[38;2;249;38;114mend[0m


[38;2;249;38;114mmacro[0m[38;2;248;248;242m print_range[0m[38;2;248;248;242m([0m[38;2;248;248;242mrange[0m[38;2;248;248;242m)[0m
[38;2;248;248;242m  [0m[38;2;249;38;114m{%[0m[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m i [0m[38;2;249;38;114min[0m[38;2;248;248;242m range [0m[38;2;249;38;114m%}[0m
[38;2;248;248;242m    puts [0m[38;2;249;38;114m{{[0m[38;2;248;248;242mi[0m[38;2;248;248;242m.[0m[38;2;248;248;242mid[0m[38;2;249;38;114m}}[0m
[38;2;248;248;242m  [0m[38;2;249;38;114m{%[0m[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;249;38;114m%}[0m
[38;2;249;38;114mend[0m

[38;2;248;248;242mprint_range[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m.[0m[38;2;248;248;242m.[0m[38;2;190;132;255m3[0m[38;2;248;248;242m)[0m
[38;2;248;248;242mprint_range[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m.[0m[38;2;248;248;242m.[0m[38;2;248;248;242m.[0m[38;2;190;132;255m3[0m[38;2;248;248;242m)[0m
